package cn.iocoder.yudao.module.crossborder.order.dal.dataobject.orderreturn;

import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 跨境电商退换货申请 DO
 *
 * @author 芋道源码
 */
@TableName("crossborder_order_return")
@KeySequence("crossborder_order_return_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrderReturnDO extends BaseDO {

    /**
     * 退换货编号
     */
    @TableId
    private Long id;
    /**
     * 退换货单号
     */
    private String returnNo;
    /**
     * 订单编号
     */
    private Long orderId;
    /**
     * 订单号
     */
    private String orderNo;
    /**
     * 客户编号
     */
    private Long customerId;
    /**
     * 类型（1退货 2换货 3退款）
     */
    private Integer returnType;
    /**
     * 退换货原因
     */
    private String returnReason;
    /**
     * 原因描述
     */
    private String returnReasonDesc;
    /**
     * 退换货总数量
     */
    private BigDecimal totalQuantity;
    /**
     * 退换货总金额
     */
    private BigDecimal totalAmount;
    /**
     * 退款金额
     */
    private BigDecimal refundAmount;
    /**
     * 货币代码
     */
    private String currencyCode;
    /**
     * 状态（10待审核 20已同意 30已拒绝 40待退货 50已退货 60已收货 70已退款 80已完成）
     */
    private Integer returnStatus;
    /**
     * 申请时间
     */
    private LocalDateTime applyTime;
    /**
     * 审批时间
     */
    private LocalDateTime approveTime;
    /**
     * 审批人
     */
    private String approveUser;
    /**
     * 审批备注
     */
    private String approveRemark;
    /**
     * 退货截止时间
     */
    private LocalDateTime returnDeadline;
    /**
     * 退货地址编号
     */
    private Long returnAddressId;
    /**
     * 退货配送方式
     */
    private String returnShippingMethod;
    /**
     * 退货运单号
     */
    private String returnTrackingNo;
    /**
     * 退货发货时间
     */
    private LocalDateTime returnShipTime;
    /**
     * 退货收货时间
     */
    private LocalDateTime returnReceiveTime;
    /**
     * 质检结果
     */
    private String qualityCheckResult;
    /**
     * 质检时间
     */
    private LocalDateTime qualityCheckTime;
    /**
     * 质检员
     */
    private String qualityCheckUser;
    /**
     * 退款方式
     */
    private String refundMethod;
    /**
     * 退款时间
     */
    private LocalDateTime refundTime;
    /**
     * 退款交易ID
     */
    private String refundTransactionId;
    /**
     * 客户留言
     */
    private String customerMessage;
    /**
     * 内部备注
     */
    private String internalNotes;
    /**
     * 附件URL列表JSON
     */
    private String attachments;


}
